"0x04355fae"指令引用的"0x0000003b"内存。该内存不能为"read"

来源:百度知道 编辑:UC知道 时间:2024/06/06 14:51:37
总出。这是什么情况

1、硬件上的原因,主要是内存条松动或不兼容,插紧,更换有问题的内存。
2、系统本身有问题,及时安装官方发行的补丁,必要时重装系统。
3、病毒问题,杀毒 ;杀毒软件与其它软件冲突,卸载有问题的软件。
4、运行regedit进入注册表, 在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellExecuteHooks 下,应该只有一个正常的键值{AEB6717E-7E19-11d0-97EE-00C04FD91972}, 将其他的删除。
5、试用命令排除
开始-运行- 输入cmd-- 回车,在命令提示符下输入下面命令
for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1
怕输入错误,可以复制这条指令,然后在命令提示符后击鼠标右键,打“粘贴”,回车,耐心等待,直到屏幕滚动停止为止。

检测一下内存,换个插槽试试,重装系统。就这3种办法,之前我机器也这样,重装xpsp3后就好了,不知是不是xp版本问题

有两个方面的原因引起的。
一是硬件问题。硬件问题一般都是内存的地址分配失败了,还有可能是内存坏了或者质量有问题。
二是软件问题。在使用动态分配的应用程序中,有时会有这样的情况出现:程序试突读写一块「应该可用」的内存,但不知为什么,这个预料中可用的光标已经失效了。有可能是「忘记了」向操作系统要求分配,也可能是程序自己在某个时候已经注销了这块内存而「没有留意」等等。注销了的内存被系统回收,其访问权已经不属于该应用程序,因此读写操作也同样会触发系统的保护机制,企图「违法」的程序唯一的下场就是被操作终止执行,回收全部资源。计算机世界的法律还是要比人类有效和严厉得多啊!像这样的情况都属于程序自身的BUG,你往往可在特定的操作顺序下重现错误。无效光标不一定总是0,因此错误提示中的内存地址也不一定为「0x00000000」,而是其它随机数字。而在内存中有个存放数据的地方叫缓冲区,当程序把数据放在其一位置时,因为没有足够空间,就会发生溢出现象。